A natural language understanding system assigns meanings to input strings of words representing utterances produced by humans. Where the string is the output of a speech recognizer, and especially of one operating in a noisy environment, it is likely that the string does not constitute a well-formed sentence of the language, as it may contain insertions, deletions or substitutions of incorrect words. It is desirable that a natural language understanding system be able to extract meaning even from imperfect input.
Syntactic parsers have been used in some natural language understanding systems to construct a structured representation of the meaning of an input string along with its syntactic structure. Such parsers require an exhaustive specification of the grammar of acceptable input strings, and are often susceptible to the imperfections in the string that characterize speech recognizer output. However, many domains in which language understanding systems are used are characterized by allowing only a small set of distinct atomic (i.e., not further decomposable) meanings. In such domains, there is no need for a structured representation of syntax or meaning.
Hence, there is a need for a method, device and system for inferring one of a pre-defined set of meanings from an input utterance, without reliance on the ability to generate a syntactic structure for the utterance.